فرض کن میخوای یه درخت از پوشهها بسازی که توی هر کدوم، چند تا پوشه دیگه داشته باشه. بهجای اینکه یکییکی با mkdir بسازی، میتونی با آکولادها ({}) و کاماها (,) توی یه خط، کل ساختار رو بسازی. اینجوری هم سریعتره هم تمیزتر!
در این چالش، با یک تکنیک پیشرفته برای ایجاد چندین دایرکتوری بهصورت همزمان آشنا میشوید. با استفاده از آکولادها (Brace Expansion) در Bash و Zsh، میتوانید ساختارهای پیچیده را با یک دستور بسازید.
mkdir -p → ایجاد دایرکتوری با تمام والدهای لازم
آکولادها (Brace Expansion): {} برای ایجاد ترکیبهای مختلف
بیایید این دستور را تیکهتیکه بررسی کنیم:
mkdir -p → ایجاد دایرکتوری با تمام والدهای لازم (اگر وجود نداشتند، بساز).
work/ → دایرکتوری اصلی (والد همه).
F{1/temp{1,2},2/temp{3,4},3/{tem5,temp6}} → اینجا بخش اصلی است.
آکولادها به این صورت کار میکنند:
F{1/temp{1,2},2/temp{3,4},3/{tem5,temp6}}
1/temp{1,2}، 2/temp{3,4} و 3/{tem5,temp6}
1/temp{1,2} → 1/temp1 و 1/temp22/temp{3,4} → 2/temp3 و 2/temp43/{tem5,temp6} → 3/tem5 و 3/temp6F{...} قرار گرفته است:
F1/temp1F1/temp2F2/temp3F2/temp4F3/tem5F3/temp6
توضیح: بعد از اجرای دستور، ساختار بالا ایجاد میشود. mkdir -p باعث میشود که اگر work یا F1 وجود نداشته باشند، ساخته شوند.
این تکنیک در Zsh و Bash هر دو کار میکند. فقط مطمئن شوید که فاصلهای بین آکولادها نگذارید.
با استفاده از آکولادها، دستور زیر را کامل کنید تا ساختار زیر ساخته شود:
دستور خود را بنویسید:
توضیح: این دستور همه دایرکتوریهای بالا را با یک خط میسازد.
mkdir -p → ایجاد دایرکتوری با والدها{} → آکولادها برای گسترش ترکیبها, → جداکننده بین گزینهها